In computer programming, an application framework[1] consists of a software framework used by software developers to implement the standard structure of an application for a specific development environment (such as an operating system or a web application).[2]
Application frameworks became popular with the rise of graphical user interfaces (GUIs), since these tended to promote a standard structure for applications. Programmers find it much simpler to create automatic GUI creation tools when using a standard framework, since this defines the underlying code structure of the application in advance. Developers usually use object-oriented programming techniques to implement frameworks such that the unique parts of an application can simply inherit from pre-existing classes in the framework.
Apple Computer developed one of the first commercial application frameworks, MacApp (first released in 1985), for the Macintosh. Originally written in an extended (object-oriented) version of Pascal, it later appeared rewritten in C++. Other popular frameworks for the Mac include Metrowerks' PowerPlant and MacZoop (both based on Carbon). Cocoa for Mac OS X offers a different approach to an application framework, one based upon the OPENSTEP framework developed at NeXT.
Free-software frameworks exist as part of the Mozilla, OpenOffice.org, GNOME, KDE, NetBeans and Eclipse projects.
Microsoft markets a framework for developing Windows applications in C++ called the Microsoft Foundation Class Library.
A number of frameworks can build cross-platform applications for Linux, Macintosh, and Windows from the same source code, such as Qt, the widget toolkits wxWidgets, FOX toolkit, or Eclipse RCP.
Oracle Application Development Framework (Oracle ADF) aids in producing Java-oriented systems.